package sh.grapendaal.tsuushin.module.uno.engine.event;

import sh.grapendaal.tsuushin.module.uno.engine.domain.Playable;
import sh.grapendaal.tsuushin.module.uno.engine.domain.Player;

public class CommandEvent extends Event {

	private static final long serialVersionUID = 6242178177869432890L;

	public enum Type {
		DRAW, JOIN, LEAVE, PASS, PLAY, START, END, STOP
	}

	private Type type;
	private Player player;
	private Playable played;

	public CommandEvent(Type type, Player player) {
		this(type, player, null);
	}

	public CommandEvent(Type type, Player player, Playable played) {
		this.type = type;
		this.player = player;
		this.played = played;
	}

	public Type getType() {
		return type;
	}
	
	public Player getPlayer() {
		return player;
	}

	public Playable getPlayed() {
		return played;
	}
}
